package controller;

import java.io.IOException;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;

import org.apache.batik.util.Service;

import paypal.PaypalService;
import util.MessageNotificationHepler;

@ManagedBean(name = "thanhToanBean")
@SessionScoped
public class ThanhToanBean {

	private int maHoaDonHienTai;
	private int hinhThucThanhToan;
	private String tenTaiKhoanPayPal = "buyer_1358467898_per@yahoo.com.vn";
	private long tongTien;
	private String urlPayPal;

	@PostConstruct
	public void init() {
	}

	public void ThanhToanVoiPayPal() {
		int tiGiaUSD = 20000;
		String sender = getTenTaiKhoanPayPal();
		String receiver = "seller_1339825083_biz@yahoo.com.vn";
		String amount = String.valueOf(tongTien / tiGiaUSD);
		String memo = "Thanh toán phiếu đặt hàng với mã là: "
				+ getMaHoaDonHienTai();

		if (sender.trim() == "") {
			MessageNotificationHepler
					.ShowMessage("Bạn chưa nhập Tên tài khoản PayPal");
			return;
		}

		setUrlPayPal(PaypalService.getPayURL(sender, receiver, amount, memo));
		System.out.println(getUrlPayPal());

		if (getUrlPayPal() == "") {
			MessageNotificationHepler
					.ShowMessage("Email bạn nhập không chính xác, vui lòng nhập lại.");
			return;
		}

		ExternalContext externalContext = FacesContext.getCurrentInstance()
				.getExternalContext();
		try {

			externalContext.redirect(getUrlPayPal());

		} catch (IOException e) {
			e.printStackTrace();
		}

	} // -------------------------

	public int getMaHoaDonHienTai() {
		return maHoaDonHienTai;
	}

	public void setMaHoaDonHienTai(int maHoaDonHienTai) {
		this.maHoaDonHienTai = maHoaDonHienTai;
	}

	public int getHinhThucThanhToan() {
		return hinhThucThanhToan;
	}

	public void setHinhThucThanhToan(int hinhThucThanhToan) {
		this.hinhThucThanhToan = hinhThucThanhToan;
	}

	public String getTenTaiKhoanPayPal() {
		return tenTaiKhoanPayPal;
	}

	public void setTenTaiKhoanPayPal(String tenTaiKhoanPayPal) {
		this.tenTaiKhoanPayPal = tenTaiKhoanPayPal;
	}

	public long getTongTien() {
		return tongTien;
	}

	public void setTongTien(long tongTien) {
		this.tongTien = tongTien;
	}

	public String getUrlPayPal() {
		return urlPayPal;
	}

	public void setUrlPayPal(String urlPayPal) {
		this.urlPayPal = urlPayPal;
	}

}
